-- Decompiled with the Synapse X Luau decompiler.

local l__CommonOHOH__1 = _G.CommonOHOH;
local M = l__CommonOHOH__1.class.new(script);
local ColliderGroup = l__CommonOHOH__1.load.ColliderGroup();
local l__PhysicsService__2 = game:GetService("PhysicsService");
function M.SetPartGroup(p1, p2, p3)
	p3 = p3 or ColliderGroup.Default;
	l__PhysicsService__2:SetPartCollisionGroup(p2, p3);
end;
local l__assert__3 = assert;
local function u4()
	return true;
end;
local l__table__5 = table;
local l__ipairs__6 = ipairs;
function M.SetAllGroup(p4, p5, p6, p7)
	l__assert__3(p5, "param inst is nil!");
	p6 = p6 or ColliderGroup.Default;
	p7 = p7 or u4;
	local v3 = p5:GetDescendants();
	l__table__5.insert(v3, p5);
	for v4, v5 in l__ipairs__6(v3) do
		if v5:IsA("BasePart") and p7(v5) then
			p4:SetPartGroup(v5, p6);
		end;
	end;
end;
function M.SetObjectGroup(p8, p9, p10, p11)
	if p9.main_inst then
		p8:SetAllGroup(p9.main_inst, p10, p11);
		
	end;
end;
function M.GetPartGroup(p12, p13)
	l__assert__3(p13:IsA("BasePart"));
	return ColliderGroup:GetNameWithId(p13.CollisionGroupId);
end;
function M.SetGroupCollidable(self, group1, group2, isCollision)
	l__PhysicsService__2:CollisionGroupSetCollidable(group1, group2, isCollision);
end;
function M.GetGroupCollidable(p18, p19, p20)
	return l__PhysicsService__2:CollisionGroupsAreCollidable(p19, p20);
end;
function M.GetGroupIdWithName(p21, p22)
	return l__PhysicsService__2:GetCollisionGroupId(p22);
end;
function M.GetGroupNameWithId(p23, p24)
	return l__PhysicsService__2:GetCollisionGroupName(p24);
end;
function M.GetGroupNum(p25)
	return l__PhysicsService__2:GetMaxCollisionGroups();
end;
return M;
